#ifndef IMAGE_H
#define IMAGE_H

#include <SDL/SDL.h>
#include <SDL/SDL_image.h>

/**
 * @struct EsdlImage
 * @brief Image structure
 */
typedef struct EsdlImage EsdlImage;

struct EsdlImage {
    SDL_Surface * surface;      //!< A SDL object
};

/**
 * @brief Load an image in RAM. This function will not display the image on the screen
 * @param path - The path of the image file
 * @return a Pointer on the image in RAM
 * @see esdlLoadSpriteFromImage
 */
EsdlImage* esdlLoadImage(const char* path);

/**
 * @brief Free memory and delete an image
 * @param image - the image to delete
 */
void esdlDeleteImage(EsdlImage* image);

#endif
